博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
登录之后更新导航
阅读量:4993 次
发布时间:2019-06-12

本文共 2930 字,大约阅读时间需要 9 分钟。

  1.  用上下文处理器app_context_processor定义函数
    1. 获取session中保存的值
    2. 返回字典
  2. 在父模板中更新导航,插入登录状态判断代码。
    1. 注意用{% ... %}表示指令。
    2. {
      { }}表示变量
  3. 完成注销功能。
    1. 清除session
    2. 跳转
          
      {% block title %}{% endblock %}base
      {% block head %}{% endblock %}
      {% block main %}{% endblock %}
      from flask import Flask,request,render_template,redirect,url_for,sessionfrom flask_sqlalchemy import SQLAlchemyimport configfrom functools import wrapsfrom  datetime import datetimeapp = Flask(__name__)app.config.from_object(config)db=SQLAlchemy(app)class User(db.Model):    __tablename__='user'    id=db.Column(db.Integer,primary_key=True,autoincrement=True)    username = db.Column(db.String(20), nullable=False)    password = db.Column(db.String(20), nullable=False)    nickname = db.Column(db.String(50))#db.create_all()#增加数据#user=User(username = 'shanshan1',password = '111111')#db.session.add(user)#db.session.commit()#查询数据#user=User.query.filter(user.username == 'shanshan1').first()#print(user.id,user.username,user.password)#修改数据#user=User.query.filter(user.username == 'shanshan3').first()#user.password = '0000'#db.session.commit()#删除数据#user=User.query.filter(user.username == 'shanshan3').first()#db.session.delete(user)#db.session.commit()@app.route('/')def index():    return  render_template('shouye.html')@app.route(   '/manhua')def manhua():    return  render_template('manhua.html')@app.route('/login',methods=['GET','POST'])def login():    if request.method =='GET':        return render_template('denglu.html')    else:        name = request.form.get('name')        passw = request.form.get('password')        user = User.query.filter(User.username == name).first()    if user:       if user.password==passw:           session['user']=name           return redirect(url_for('manhua'))       else:           return "密码错误!"    else:        return "用户名不存在!"@app.context_processordef mycontext():    usern=session.get('user')    if usern:        return {
      'name':usern} else: return {}@app.route('/logout')def logout(): session.clear() return redirect(url_for('manhua'))@app.route("/register",methods=['GET','POST'])def register(): if request.method == 'GET': return render_template("zhuce.html") else: name = request.form.get('name') passw = request.form.get('password') user = User.query.filter(User.username == name).first() if user: return "用户名已存在!" else: user = User(username=name, password=passw) db.session.add(user) db.session.commit() return render_template("denglu.html")if __name__ == '__main__': app.run(debug=True)

           

       

       

转载于:https://www.cnblogs.com/33333-/p/7889878.html

你可能感兴趣的文章
ssh无密码登陆屌丝指南
查看>>
一个自己写的判断2个相同对象的属性值差异的工具类
查看>>
[CF803C] Maximal GCD(gcd,贪心,构造)
查看>>
oracle连接的三个配置文件(转)
查看>>
Java 8 中如何优雅的处理集合
查看>>
[HNOI2012]永无乡 线段树合并
查看>>
Centos下源码安装git
查看>>
控件发布:div2dropdownlist(div模拟dropdownlist控件)
查看>>
[置顶] 细说Cookies
查看>>
[wp7软件]wp7~~新闻资讯,阅读软件下载大全! 集合贴~~~
查看>>
Extjs String转Json
查看>>
二叉树的遍历问题总结
查看>>
新浪分享API应用的开发
查看>>
美国专利
查看>>
css选择器
查看>>
爬取:中国大学排名
查看>>
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
查看>>
mybatis中>=和<=的实现方式
查看>>
Python面向对象03/继承
查看>>
java序列化和反序列化
查看>>